import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.TreeSet;

public class Test {
    /**
     * 链接：https://www.nowcoder.com/questionTerminal/ceb89f19187b4de3997d9cdef2d551e8
     * 来源：牛客网
     *
     * 你所见一个数字对应一些字母，因此在国外企业喜欢把电话号码设计成与自己公司名字相对应。例如公司的Help Desk号码是4357，因为4对应H、3对应E、5对应L、7对应P，因此4357就是HELP。同理，TUT-GLOP就代表888-4567、310-GINO代表310-4466。
     * NowCoder刚进入外企，并不习惯这样的命名方式，现在给你一串电话号码列表，请你帮他转换成数字形式的号码，并去除重复的部分。
     *
     * 4
     * UTT-HELP
     * TUT-GLOP
     * 310-GINO
     * 000-1213
     *
     * 000-1213
     * 310-4466
     * 888-4357
     * 888-4567
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        //建立映射
        //字母-数字
        HashMap<Character, Character> map = new HashMap<>();
        String alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String num = "22233344455566677778889999";
        char[] alphaArr = alpha.toCharArray();
        char[] numArr = num.toCharArray();

        for (int i = 0; i < alphaArr.length; i++) {
            map.put(alphaArr[i], numArr[i]);
        }
        //用set保存结果，去重
        TreeSet<String> set = new TreeSet<>();
        String line;
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        while((line = reader.readLine()) != null){
            set.clear();
            int n = Integer.parseInt(line);
            //处理n个字符串
            for (int i = 0; i < n; i++) {
                line = reader.readLine();
                //保存转换之后的字符串
                StringBuilder stringBuilder = new StringBuilder();
                char[] arr = line.toCharArray();
                //处理每一个字符
                for (char ch : arr) {
                    if(isDiqit(ch)){
                        stringBuilder.append(ch);
                    }else if(isUpper(ch)){
                        stringBuilder.append(map.get(ch));
                    }
                }
                //调整格式
                line = stringBuilder.substring(0,3) + "-" + stringBuilder.substring(3);
                //保存结果
                set.add(line);
            }
            //打印转换之后的结果
            for (String str : set) {
                System.out.println(str);
            }
            System.out.println();
        }
    }

    private static boolean isUpper(char ch) {
        return 'A' <= ch && ch <= 'z';
    }

    private static boolean isDiqit(char ch) {
        return '0' <= ch && ch <= '9';
    }
}
